@ibiz-template-plugin/ibiz-file-previewer 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +97 -25
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.es.js +925 -488
  4. package/dist/index.umd.js +1 -1
  5. package/dist/style.css +2 -2
  6. package/dist/types/component/file-preview-item/file-preview-html/file-preview-html.d.ts +20 -0
  7. package/dist/types/component/file-preview-item/file-preview-image/file-preview-image.d.ts +22 -0
  8. package/dist/types/component/file-preview-item/file-preview-image-group/file-preview-image-group.d.ts +17 -5
  9. package/dist/types/component/file-preview-item/file-preview-image-group/image-page/image-page.d.ts +21 -4
  10. package/dist/types/component/file-preview-item/file-preview-md/file-preview-md.d.ts +10 -6
  11. package/dist/types/component/file-preview-item/file-preview-text/file-preview-text.d.ts +6 -2
  12. package/dist/types/component/file-preview-item/file-preview-unknown/file-preview-unkown.d.ts +7 -3
  13. package/dist/types/component/file-preview-item/index.d.ts +6 -0
  14. package/dist/types/component/file-preview-shell/file-preview-shell.d.ts +6 -3
  15. package/dist/types/component/index.d.ts +3 -0
  16. package/dist/types/component/loading/loading.d.ts +14 -0
  17. package/dist/types/const/constant.d.ts +6 -5
  18. package/dist/types/const/index.d.ts +2 -0
  19. package/dist/types/const/{file-type.d.ts → type.d.ts} +30 -2
  20. package/dist/types/controller/file-preview-item/file-preview-image-controller.d.ts +42 -0
  21. package/dist/types/controller/{file-preview-image-group-controller.d.ts → file-preview-item/file-preview-image-group-controller.d.ts} +12 -3
  22. package/dist/types/controller/{file-preview-item-controller.d.ts → file-preview-item/file-preview-item-controller.d.ts} +2 -11
  23. package/dist/types/controller/{file-preview-md-controller.d.ts → file-preview-item/file-preview-md-controller.d.ts} +1 -1
  24. package/dist/types/controller/{file-preview-text-controller.d.ts → file-preview-item/file-preview-text-controller.d.ts} +1 -1
  25. package/dist/types/controller/file-preview-item/file-prview-html-controller.d.ts +7 -0
  26. package/dist/types/controller/file-preview-item/index.d.ts +6 -0
  27. package/dist/types/controller/file-preview-item-dispatcher.d.ts +4 -3
  28. package/dist/types/controller/file-preview-shell-controller.d.ts +16 -2
  29. package/dist/types/controller/index.d.ts +5 -3
  30. package/dist/types/icon/index.d.ts +8 -0
  31. package/dist/types/index.d.ts +1 -1
  32. package/dist/types/interface/i-file-preview-item-controller.d.ts +27 -20
  33. package/dist/types/interface/i-file-preview-shell-controller.d.ts +14 -12
  34. package/dist/types/interface/i-file-previewer-option.d.ts +8 -4
  35. package/dist/types/interface/index.d.ts +1 -1
  36. package/dist/types/util/util.d.ts +2 -1
  37. package/package.json +1 -1
  38. package/dist/types/component/file-preview-item/file-preview-img/file-preview-img.d.ts +0 -19
  39. package/dist/types/component/file-preview-item/file-preview-json/file-preview-json.d.ts +0 -18
  40. package/dist/types/component/file-preview-item/file-preview-xml/file-preview-xml.d.ts +0 -18
  41. package/dist/types/const/action-type.d.ts +0 -6
  42. package/dist/types/controller/file-preview-image-controller.d.ts +0 -18
package/README.md CHANGED
@@ -1,37 +1,109 @@
1
- # ibiz-file-previewer
1
+ # 文件预览
2
2
 
3
- #### 介绍
4
- ibiz文件预览器
3
+ ## 项目初始化
5
4
 
6
- #### 软件架构
7
- 软件架构说明
5
+ 1. 使用 Vite 创建 Vue 3 + TypeScript 项目
6
+ 2. 安装必要依赖:sass(SCSS 支持)、vue-tsc(TypeScript 类型检查)
7
+ 3. 配置项目结构,创建组件目录和样式目录
8
8
 
9
+ ## 预览壳组件
9
10
 
10
- #### 安装教程
11
+ 1. 创建 `file-preview-shell.vue` 组件
12
+ 2. 创建 `file-preview-controller.ts` 控制器模块
13
+ 3. 实现参数处理逻辑:
14
+ - 接收 name、id、url 参数
15
+ - 处理 id 和 url 的二选一逻辑
16
+ - 处理 name 参数的获取逻辑
17
+ - 实现 url 转 id 的下载和上传逻辑
18
+ 4. 实现文件信息展示:
19
+ - 解析文件名
20
+ - 解析引擎信息
21
+ 5. 实现下载功能模块:
22
+ - 下载源文件
23
+ - 复制文本内容
24
+ - 导出为 PDF(非 PDF 文件)
25
+ - 导出为 MD(非 MD 文件)
26
+ 6. 实现文件类型处理:
27
+ - 基于文件后缀解析文件类型
28
+ - 支持 html、md、txt、json、pdf 等类型
29
+ - 动态分发至对应预览组件
30
+ 7. 逻辑与 UI 分离:
31
+ - 预览壳组件负责界面绘制
32
+ - 控制器模块实现功能逻辑
11
33
 
12
- 1. xxxx
13
- 2. xxxx
14
- 3. xxxx
34
+ ### 参数输入
15
35
 
16
- #### 使用说明
36
+ | 参数名称 | 类型 | 说明 | 默认值 |
37
+ | --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ |
38
+ | theme | `'light' | 'dark'` | 主题 | 'dark' |
39
+ | selector | string | 预览组件的挂载点(必填) | --- |
40
+ | getContent | `(id: string,type: string,cat: string): Promise<string | object | undefined>` | 获取预览文件的内容,参数依次为:文件标识,文件类型,存储位置名称 | --- |
41
+ | getImgContent | `(id: string, type: FileType, cat: string) => Promise<string>` | 获取预览图片内容,参数依次为:文件标识,文件类型,存储目录 | --- |
42
+ | upLoadFileToOss | `(url: string): Promise<{ id: string; name: string; cat: string } | undefined>` | 上传文件至oss,参数为上传路径 | --- |
43
+ | downLoadFile | `(id: string, name: string, cat: string): Promise<void>` | 下载文件,参数依次为:文件标识,文件名称,存储位置名称 | --- |
44
+ | actionSuccessCallBack | `(type: string): Promise<void>` | 文件操作成功回调,参数为文件类型 | --- |
17
45
 
18
- 1. xxxx
19
- 2. xxxx
20
- 3. xxxx
46
+ ## 预览组件
21
47
 
22
- #### 参与贡献
48
+ 1. 实现组件输入参数处理:
23
49
 
24
- 1. Fork 本仓库
25
- 2. 新建 Feat_xxx 分支
26
- 3. 提交代码
27
- 4. 新建 Pull Request
50
+ - 接收预览组件控制器对象
28
51
 
52
+ 2. 实现交互控制:
29
53
 
30
- #### 特技
54
+ - 根据不同的文件引擎类型实现以下功能:
55
+
56
+ MD引擎类型:预览、查看大纲、下载源文件、复制文本内容
57
+
58
+ HTML引擎类型:预览、下载源文件、复制文本内容
59
+
60
+ TXT引擎类型:预览、下载源文件、复制文本内容
61
+
62
+ PDF引擎类型:预览、缩略图、顺/逆时针旋转、上/下一页、引擎模式切换、显示模式切换、缩小/放大、重置、下载源文件
63
+
64
+ 图片引擎类型:预览、顺/逆时针旋转、图片拖拽、显示模式切换、缩小/放大、重置、下载源文件、复制文本内容
65
+
66
+ 3. 逻辑与 UI 分离:
67
+
68
+ - 预览组件负责界面绘制
69
+ - 控制器模块实现功能逻辑
70
+
71
+ ## 样式实现
72
+
73
+ 1. 使用 SCSS 实现主题和响应式样式,支持暗色和亮色两套主题
74
+ 2. 确保 HTML 结构语义化和可访问性
75
+
76
+ ## 技术实现规范
77
+
78
+ - 使用 TypeScript 实现类型安全的组件开发
79
+ - 采用 Vue 3 Composition API 进行逻辑组织
80
+ - 使用 SCSS 实现响应式样式及组件主题
81
+ - 确保 HTML 结构语义化且符合可访问性标准
82
+
83
+ ## 文件预览支持
84
+
85
+ | 文件扩展名 | 支持情况 |
86
+ | ---------- | -------- |
87
+ | jpg | 已支持 |
88
+ | png | 已支持 |
89
+ | gif | 已支持 |
90
+ | bmp | 已支持 |
91
+ | jpeg | 已支持 |
92
+ | webp | 已支持 |
93
+ | ico | 已支持 |
94
+ | svg | 已支持 |
95
+ | xls | 前端支持,后端未支持 |
96
+ | xlsx | 前端支持,后端未支持 |
97
+ | et | 前端支持,后端未支持(未找到该格式的文件) |
98
+ | html | 已支持 |
99
+ | md | 已支持 |
100
+ | json | 前端支持,后端未支持 |
101
+ | xml | 前端支持,后端未支持 |
102
+ | txt | 前端支持,后端未支持 |
103
+ | pdf | 已支持 |
104
+ | doc | 已支持 |
105
+ | docx | 已支持 |
106
+ | wps | 已支持 |
107
+ | ppt | 已支持 |
108
+ | pptx | 已支持 |
31
109
 
32
- 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33
- 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
34
- 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
35
- 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
36
- 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
37
- 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)